大家帮我解释一下"x==0"与"!x"为何相等...有点不明白?

来源:百度知道 编辑:UC知道 时间:2024/06/20 10:40:20
如题.........

在C++中,程序将0自动转换为布尔变量false,非0转换为布尔变量true.这在Java中是不允许的。
x == 0;即:如果x=0,该表达式为真,如果不等于0则为假。
!x和它意思一样。x如果是0,则非0则是非零值,则为真,如果x不是0,则它的非恰好是0,那么恰好转换为false.

如果x为0,!x就是真,x是假;
否则,!x就是假,x是真。

“!”(逻辑非)是一种逻辑运算符,取本来值的相反。

x==0表达式的值为1(x等于0时)或0(x不等于0时)

!x,当x不等于0时,就是0,并不是对x按位非;
x等于0时就是1了。